//
//  main.m
//  OC03-NSStringAndNSValue
//
//  Created by dllo on 16/7/6.
//  Copyright © 2016年 高雅馨. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    /**
     *  1. 查看头文件或者API,他们的初始化和构造器,基本都放在一起
     * 2. 当我们拿到一个新的类,你需要去查看这个类的初始化或者构造器
     */
    /** 初始化(init) */
    NSString *string = [[NSString alloc] init];
    /** 便利构造器(string) */
    NSString *str = [NSString string];
    /** 获取字符串长度(length) */
    NSInteger length = string.length;
    /** 获取字符串中字符(character) */
 //   [string characterAtIndex:0];
    /** 字符串是否相等(equal) */
    [str isEqualToString:@"bitch"];
    /** 获取子串(sub) */
   // [string substringFromIndex:1];
    /** 拼接字符串(append) */
    [str stringByAppendingString:string];
    [str stringByAppendingFormat:@"fuck%@",string];
#pragma mark - 如果字符串方法带有返回值,操作的不是原字符串
    /** 替换字符串(replace) */
    [string stringByReplacingOccurrencesOfString:@"jpg" withString:@"png"];
    /** 字符串对象转化为int类型(int) */
    NSString *pathStr = @"/user/local/bin";
    [pathStr intValue];
    /** 字符串对象转化为其他数据类型, 例如double, float, BOOL等. */
    [pathStr doubleValue];
    [pathStr floatValue];
    [pathStr boolValue];
    /** 字符串全部大写(uppercase) */
    NSLog(@"%@", str.uppercaseString);
    
    /** 字符串全部小写(lowercase) */
    NSLog(@"%@", str.lowercaseString);
    
    /** 字符串首字母大写(capitalized) */
    NSLog(@"%@", str.capitalizedString);
    
    /** 是否以指定字符串为前缀(prefix) */
    [string hasPrefix:@""];
    /** 是否以指定字符串为后缀(suffix) */
    [string hasSuffix:@""];
    // 把C语言基本数据类型转化成OC中的对象
    int a = 10;
    NSNumber *aNum = [NSNumber numberWithInt:a];
    NSNumber *bNum = [[NSNumber alloc] initWithInt:a];
    // 字面量
    NSNumber *cNum = @(a);
    // 把结构体,指针等数据类型转化成对象
    NSRange range = NSMakeRange(2, 4);
    NSValue *rangeValue =
    [NSValue valueWithRange:range];
    NSLog(@"%@", rangeValue);
    
#pragma mark - 练习1
    /**
     *1. 330184198501184115 处理字符串, 取出他的出生年月, 并计算出年龄(不用具体)输出格式 1985年01月18日 年龄:31岁
     */
    NSString *aStr = @"330184198501184115";
    NSString *bStr = [aStr substringWithRange:NSMakeRange(6, 8)];
    NSString *cStr = [bStr stringByReplacingOccurrencesOfString:bStr withString:@"1985年01月18日"];
    NSLog(@"出生日期是%@", cStr);
    NSString *dStr = [aStr substringWithRange:NSMakeRange(6, 4)];
    int d = dStr.intValue;
    NSLog(@"年龄是%d", 2016 - d);
    return 0;
}
